This paper documents a model of the COVID-19 epidemic in South Africa. Mobility data is used to model the reproduction number of the COVID-19 epidemic over time using a Bayesian hierarchical model. This is achieved by adapting the work by Imperial College London researchers [1] for South Africa. Authors from Imperial College London have built similar models for Brazil [2] and the United States [3]. In this case the model is calibrated to excess deaths [4] and not case counts or reported COVID-19 deaths.
The model uses mobility movement indexes by province produced by Google [5]. Furthermore the model includes a fixed effect for interventions introduced at the start of level 4 lockdown.
The model and report are automatically generated on a regular basis using R [6]. This version contains data available on 29 October 2020.
An online, regularly updated version of this report is available here.
As this paper is updated over time this section will summarise significant changes. The code producing this paper is tracked using git. The git commit hash for this project at the time of generating this paper was ff503089ba39a5144d80c10dc0aadd987e198f70 and this change was made on 2020-10-31.
2020-05-31
2020-06-01
2020-06-04
2020-06-08
2020-06-09
2020-06-10
2020-06-20
2020-06-22
2020-07-04
2020-07-07
2020-07-16
2020-07-26
2020-08-19
2020-08-27
2020-09-04
2020-09-05
2020-09-09
2020-09-16
2020-09-23
2020-09-30
2020-10-07
2020-10-14
2020-10-22
2020-10-29
A detailed description of the methodology and assumptions is provided below below. The key features of the approach employed are summarised here:
The national mobility data from [5] is plotted below. The model uses the indexes at a provincial level but here the national indexes are plotted for convenience. Clear trends are observable:
Google Mobility Indexes for South Africa
The chart below summarises the average mobility index used in the model. This is the average of mobility indicators excluding parks and residential. This follows [7].
Average Mobility
There are some risks to using the mobility data above as it may be biased to the Android operating system, people with smartphones and people with enough data on their smartphone to share their location.
This bias does not really represent a problem though unless it changes over time because then the model would not be able to produce accurate projections. There is a risk that mobility changes disproportionally between users contributing data to these indexes and those not. It would not seem reasonable to expect a major change in the bias over time (unless the calculation is somehow compromised). Provincial biases may exist, but the model also allows the provinces to exhibit provincial-specific mobility effects for both parameters.
The average mobility (excluding residential & park indexes) is plotted below for the various provinces. From this plot it seems apparent that Western Cape mobility has reduced the most during lockdown and is, perhaps, increasing slower.
Average Mobility by Province
The sections below show how well the model is reproducing past excess death data. As the model is fitted to past death data we would want to see how well it is reproducing such data. Each section covers a province.
Three panels are plotted for each province:
In all the charts the darker shaded area represents a confidence interval of 50% and the lighter shaded area represents a confidence interval of 95%.
The chart below shows 90% of excess deaths per [4] and the modelled deaths. For the Eastern Cape the fit appears reasonable. Also to be noted is the levelling off of excess deaths in the last week.
Projected Deaths and 90% of Excess Deaths in Eastern Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below. It appears that reported deaths and modelled deaths are moving closer together, possibly because completeness of reporting is improving.
Projected Deaths compared to Reported COVID-19 Deaths in Eastern Cape
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 1.5% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Eastern Cape
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) started low but increased significantly during lockdown peaking at the start of June and declining afterwards.
Effective Reproduction Number in Eastern Cape
Below the \(-\epsilon_{w_m(t),m}\) is plotted. This parameter has needed to be negative to enable the \(R_{t,m}\) to remain at low levels.
Weekly AR(2) Effect Plot for Eastern Cape
The chart below shows 90% of excess deaths per [4] and the modelled deaths. For the Free State the fit appears acceptable.
Projected Deaths and 90% of Excess Deaths in Free State
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Free State
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 4% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Free State
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) started low but increased significantly during lockdown peaking during June and declining afterwards.
Effective Reproduction Number in Free State
Below the \(-\epsilon_{w_m(t),m}\) is plotted.
Weekly AR(2) Effect Plot for Free State
The chart below shows 90% of excess deaths per [11] and the modelled deaths. The fit for Gauteng appears reasonable. The levelling off of excess deaths in last week or two should also be noted.
Projected Deaths and 90% of Excess Deaths in Gauteng
The reported deaths (in brown) and estimated deaths (in blue) are plotted below. Modelled deaths are now becoming similar to reported deaths.
Projected Deaths compared to Reported COVID-19 Deaths in Gauteng
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 0.2% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Gauteng
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) started low but increased significantly during lockdown peaking during June and declining afterwards.
Effective Reproduction Number in Gauteng
Below the \(-\epsilon_{w_m(t),m}\) is plotted. This parameter has needed to be negative to enable the \(R_{t,m}\) to remain at low levels to replicate the slow down in excess deaths in Gauteng.
Weekly AR(2) Effect Plot for Gauteng
The chart below shows 90% of excess deaths per [4] and the modelled deaths. The fit for KwaZulu-Natal appears reasonable.
Projected Deaths and 90% of Excess Deaths in KwaZulu-Natal
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in KwaZulu-Natal
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 0.5% of all new infections were tested.
Projected Infections compared to Confirmed Cases in KwaZulu-Natal
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) started low but increased significantly during lockdown peaking during June and declining afterwards.
Effective Reproduction Number in KwaZulu-Natal
Below the \(-\epsilon_{w_m(t),m}\) is plotted. This parameter has needed to be negative to enable the \(R_{t,m}\) to remain at low levels to replicate the slow down in excess deaths in this province.
Weekly AR(2) Effect Plot for KwaZulu-Natal
The chart below shows 90% of excess deaths per [4] and the modelled deaths. The fit for Limpopo appears reasonable though possibly over-predicting for the last week or two.
Projected Deaths and 90% of Excess Deaths in Limpopo
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Limpopo
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 0.1% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Limpopo
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) peaks during June and declines afterwards.
Effective Reproduction Number in Limpopo
Below the \(-\epsilon_{w_m(t),m}\) is plotted.
Weekly AR(2) Effect Plot for Limpopo
The chart below shows 90% of excess deaths per [11] and the modelled deaths. The fit for Mpumalanga appears reasonable.
Projected Deaths and 90% of Excess Deaths in Mpumalanga
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Mpumalanga
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 0.2% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Mpumalanga
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) peaks during June and declines afterwards.
Effective Reproduction Number in Mpumalanga
Below the \(-\epsilon_{w_m(t),m}\) is plotted.
Weekly AR(2) Effect Plot for Mpumalanga
The chart below shows 90% of excess deaths per [4] and the modelled deaths. The fit for Northern Cape appears reasonable though possibly over-predicting for the last week or two.
Projected Deaths and 90% of Excess Deaths in Northern Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in Northern Cape
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 4.9% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Northern Cape
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) peaks during June and declines afterwards.
Effective Reproduction Number in Northern Cape
Below the \(-\epsilon_{w_m(t),m}\) is plotted.
Weekly AR(2) Effect Plot for Northern Cape
The chart below shows 90% of excess deaths per [4] and the modelled deaths. The fit for North West appears reasonable though the peak mid July appears not to be modelled accurately.
Projected Deaths and 90% of Excess Deaths in North West
The reported deaths (in brown) and estimated deaths (in blue) are plotted below.
Projected Deaths compared to Reported COVID-19 Deaths in North West
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 0.7% of all new infections were tested.
Projected Infections compared to Confirmed Cases in North West
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) peaks during June and declines afterwards.
Effective Reproduction Number in North West
Below the \(-\epsilon_{w_m(t),m}\) is plotted.
Weekly AR(2) Effect Plot for North West
The chart below shows 90% of excess deaths per [11] and the modelled deaths. The fit appears reasonable. The recent blip in excess deaths does apear to have affected the projections made by the model.
Projected Deaths and 90% of Excess Deaths in Western Cape
The reported deaths (in brown) and estimated deaths (in blue) are plotted below. Modelled deaths appear to be lower than reported deaths, indicating either that reported deaths include prior period deaths or that the model is under-projecting the current situation.
Projected Deaths compared to Reported COVID-19 Deaths in Western Cape
Below modelled infections are plotted compared to confirmed cases. Over the last 14 days it would appear that 1% of all new infections were tested.
Projected Infections compared to Confirmed Cases in Western Cape
Below the \(R_{t,m}\) is plotted. The \(R_{t,m}\) declines at the start of lockdown and continues to decline over time.
Effective Reproduction Number in Western Cape
Below the \(-\epsilon_{w_m(t),m}\) is plotted. This parameter has needed to be negative to enable the \(R_{t,m}\) to remain at low levels to replicate the slow down in excess deaths in this province.
Weekly AR(2) Effect Plot for Western Cape
To understand the net parameter estimates for \(\alpha\) and \(\alpha_{m}^s\) and their impact on \(R_{t,m}\) we plot the percentage reduction in \(R_{t,m}\) assuming the particular index is 1 (representing a 100% reduction in average mobility).
This is equivalent to plotting \(1-2\cdot\phi^{-1}(-(\alpha+\alpha_{m}^s))\) for a particular province \(m\). We also plot \(1-2\cdot\phi^{-1}(-(\beta+\beta_{m}^s))\).
The confidence intervals are relatively wide with some provinces not showing much impact of mobility, including the Western Cape. These same provinces show higher impact of NPIs introduced with Level 4 (such as mask wearing and workplace screening).
Model Parameter Estimates with 95% Confidence Intervals
Estimates for \(R_{0,m}\) for each province are plotted below. It should be noted that the provinces with low \(R_{0,m}\) tend to be the ones with less data early in the epidemic. This indicates that \(R_{0,m}\) may not be correctly estimated for these provinces as there is no data to differentiate it from post lockdown \(R_{t,m}\). This may be the cause for the limited impact of mobility for these provinces.
In any case, for all provinces, it is probable that the posterior estimates for \(R_{0,m}\) are not heavily influenced by the data. This is probably due to the relatively early lockdown implemented in South Africa. There were probably not enough deaths that resulted from infection prior to lockdown to develop an independent estimate for each province of \(R_{0,m}\).
Initial Reproduction Number by Province
Current estimates and 95% confidence intervals for \(R_{t,m}\) (current effective reproduction number) are plotted below for each province. A value below 1 would indicate an epidemic that is slowing while a value above 1 indicates an epidemic that is growing. It is clear that the spread of the epidemic is somewhat slowed compared to the initial \(R_{0,m}\). For some provinces the confidence interval does not include 1 which would indicate this to a stronger degree.
Current Reproduction Number by Province
The estimated attack rate (with 95% confidence intervals) is tabulated below. This is the proportion of the population infected to date. This figure has to be estimated, because many that are infected experience no or mild symptoms, thus they may not seek medical advice and hence will never be tested.
The confidence intervals for these estimates remain very wide. The highest attack rates are occurring in Northern Cape, North West and Free State, but this may be reflecting limited data. WC attack rate appears to be relatively low compared to other provinces.
| Province | Attack Rate |
|---|---|
| EC | 30.43% [20.13%-48.06%] |
| FS | 33.28% [21.70%-53.58%] |
| GP | 36.29% [14.41%-91.43%] |
| KZN | 18.89% [9.76%-72.35%] |
| LP | 44.00% [5.21%-98.47%] |
| MP | 52.31% [11.12%-98.24%] |
| NC | 25.61% [16.05%-44.70%] |
| NW | 20.51% [11.00%-41.22%] |
| WC | 25.89% [16.35%-46.03%] |
| South Africa | 31.64% [19.52%-49.29%] |
One of the reasons we build models is so that we can make sense of the future or indeed the past. We can project forward models to assess the impact of varying assumptions on future outcomes. This gives us a sense of how changes in actions may impact the future. I.e. it allows us to answer “what if” questions. Note however that in projecting the future we are extrapolating, and due care needs to be taken. There are numerous limitations to this model and these projections dicussed below but the author is also of the opinion that the projections add value in that they indicate a significant range across the scenarios projected and in such a manner inform discussion.
All models are wrong but some are useful - George Box [19]
An incorrect model can be useful because it enables a better understanding of the model and the phenomena being modelled. This section should be used with caution because, as we show in calibration, the model seems to be projecting higher deaths than observed for some provinces.
Note detailed projection output can be found here.
Projections are done using constant, increasing and decreasing mobility but other interventions are left constant. It should also be noted that the \(\epsilon_{w_m(t),m}\) are projected forward at constant levels and are not adjusted for projection purposes.
The \(\epsilon_{w_m(t),m}\) is held at “current” levels when projecting forwards. It should be noted that these levels are set 28 days prior as recent deaths only affect infections that occured prior to that. Based on the observed calibration for Western Cape there is a possibility that this may be resulting in too low recent infections.
In this projection mobility is held constant at current levels. Level 4 interventions are left intact.
The result of this scenario as at 31 December 2020 is tabulated below. Note based on these it would appear that some provinces have already reached the peak in daily deaths.
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 53.74% [23.04%-84.65%] | 20 276 [ 9 897- 36 306] | 213 | 2020-07-12 |
| FS | 45.86% [23.18%-79.12%] | 6 639 [ 3 700- 12 127] | 85 | 2020-07-30 |
| GP | 60.27% [15.27%-95.83%] | 37 303 [10 329- 68 601] | 516 | 2020-11-19 |
| KZN | 30.14% [9.91%-91.70%] | 14 419 [ 5 522- 49 663] | 170 | 2020-07-24 |
| LP | 55.66% [5.27%-98.51%] | 16 185 [ 1 613- 32 410] | 304 | 2020-10-29 |
| MP | 63.38% [11.45%-98.29%] | 12 852 [ 2 397- 22 209] | 235 | 2020-10-31 |
| NC | 37.78% [17.09%-74.52%] | 2 356 [ 1 198- 4 924] | 20 | 2020-08-05 |
| NW | 54.33% [14.49%-84.70%] | 9 187 [ 2 705- 17 034] | 141 | 2020-12-05 |
| WC | 49.41% [18.31%-83.49%] | 14 787 [ 6 290- 28 540] | 164 | 2020-12-04 |
| South Africa | 50.65% [30.37%-71.54%] | 134 005 [80 496-193 989] | 1 421 | 2020-11-19 |
This scenario assumes future mobility half-way between current mobility levels and normal levels. Other interventions are left intact. The attack rate and deaths after increasing mobility are tabulated below (as at 31 December 2020).
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 57.29% [23.66%-86.44%] | 21 356 [10 028- 37 332] | 225 | 2020-12-10 |
| FS | 48.72% [23.48%-81.53%] | 6 942 [ 3 725- 12 626] | 85 | 2020-07-30 |
| GP | 63.85% [15.45%-96.06%] | 39 172 [10 434- 69 448] | 541 | 2020-11-21 |
| KZN | 31.83% [9.97%-92.43%] | 15 012 [ 5 532- 50 444] | 170 | 2020-07-24 |
| LP | 57.33% [5.29%-98.51%] | 16 558 [ 1 617- 32 424] | 304 | 2020-10-29 |
| MP | 64.79% [11.49%-98.29%] | 13 077 [ 2 407- 22 229] | 235 | 2020-10-31 |
| NC | 41.07% [17.32%-78.06%] | 2 504 [ 1 206- 5 196] | 21 | 2020-12-03 |
| NW | 59.00% [15.32%-86.60%] | 9 904 [ 2 808- 17 622] | 160 | 2020-12-06 |
| WC | 54.82% [18.97%-86.26%] | 16 112 [ 6 395- 29 894] | 197 | 2020-12-08 |
| South Africa | 53.74% [32.64%-74.79%] | 140 639 [84 900-201 509] | 1 504 | 2020-11-24 |
Based on the above an increase mobility could mean roughly 7 000 more deaths by the end of the year.
This scenario assumes future mobility is decreased by 50% more than currently. The attack rate and deaths after decreased mobility are tabulated below (as at 31 December 2020).
| Province | Attack Rate | Deaths | Peak Daily Deaths | Peak Date |
|---|---|---|---|---|
| EC | 50.46% [22.58%-82.62%] | 19 307 [ 9 794- 35 353] | 213 | 2020-07-12 |
| FS | 43.53% [22.95%-76.73%] | 6 389 [ 3 678- 11 697] | 85 | 2020-07-30 |
| GP | 56.91% [15.08%-95.60%] | 35 577 [10 264- 67 972] | 497 | 2020-11-17 |
| KZN | 28.63% [9.90%-91.04%] | 13 885 [ 5 512- 48 926] | 170 | 2020-07-24 |
| LP | 54.24% [5.27%-98.51%] | 15 864 [ 1 613- 32 397] | 304 | 2020-10-29 |
| MP | 62.18% [11.40%-98.29%] | 12 657 [ 2 395- 22 196] | 235 | 2020-10-31 |
| NC | 35.26% [16.86%-71.89%] | 2 241 [ 1 191- 4 696] | 20 | 2020-08-05 |
| NW | 49.98% [13.76%-82.84%] | 8 548 [ 2 625- 16 489] | 125 | 2020-12-03 |
| WC | 44.67% [17.91%-80.78%] | 13 663 [ 6 217- 27 335] | 139 | 2020-11-30 |
| South Africa | 47.86% [28.44%-68.60%] | 128 130 [77 195-187 224] | 1 374 | 2020-11-16 |
Based on the above a decrease in mobility could mean roughly 6 000 fewer deaths by the end of the year.
We plot below the results for South Africa as a whole. This is the sum of the provincial projections.
Projected Attack Rate and Daily Deaths in South Africa
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in South Africa by Scenario
Below we plot the projections for Eastern Cape.
Projected Attack Rate and Daily Deaths in Eastern Cape
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Eastern Cape by Scenario
Below we plot the projections for the Free State.
Projected Attack Rate and Daily Deaths in Free State
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Free State by Scenario
Below we plot the projections for Gauteng.
Projected Attack Rate and Daily Deaths in Gauteng
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Gauteng by Scenario
Below we plot the projections for KwaZulu-Natal.
Projected Attack Rate and Daily Deaths in KwaZulu-Natal
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in KwaZulu-Natal by Scenario
Below we plot the projections for Limpopo.
Projected Attack Rate and Daily Deaths in Limpopo
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Limpopo by Scenario
Below we plot the projections for Mpumalanga.
Projected Attack Rate and Daily Deaths in Mpumalanga
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Mpumalanga by Scenario
Below we plot the projections for the Northern Cape.
Projected Attack Rate and Daily Deaths in Northern Cape
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Northern Cape by Scenario
Below we plot the projections for the North West.
Projected Attack Rate and Daily Deaths in North West
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in North West by Scenario
Below we plot projections for the Western Cape.
Projected Attack Rate and Daily Deaths in Western Cape
The attack rate and deaths over a longer period for both the constant mobility and increased mobility scenarios are plotted below:
Projected Attack Rate and Daily Deaths in Western Cape by Scenario
There remains significant uncertainty with all matters relating this epidemic. This includes uncertainty in data, assumptions and many epidemiological and medical matters relating to this disease. It is therefore likely that the model will not be accurate. It is also reflected in the wide confidence intervals of many of the results of the model.
Some researchers have gone as far as to say that it is not possible to accurately estimate the mean number of fatalities of pandemics based on data ([20] & [21]). This would indicate the goal of the paper may be futile.
This paper has however attempted to allow for uncertainty using the Bayesian approach here which results in at least some distribution of possible results, some of which are definitely catastrophic and some of which are less severe.
This analysis has various limitations. We highlight a few below but there are many. Perhaps the most important being the lack of good quality data.
The epidemic starts in most provinces with a relatively high \(R_{t,m}\)(based on assumptions). This then reduces as mobility reduces due to lockdown. In some provinces an additional reduction can be seen at the time maskwearing and work place screening is introduced. However in most provinces the epidemic starts spreading during lockdown due to increased mobility and also increases in the weekly autoregressive term. This term is adjusting to fit the increased numbers of deaths that are observed.
During the last number of weeks however the spread slows (without a slowdown in mobility) and the weekly adjustment has to be decreased in most provinces as this decrease is not explained by herd immunity or other interventions.
The reason for this slow down in spread is not clear. Some possible interpretations are:
From the results it’s clear that \(R_{t,m}\) in some provinces has reduced from the starting values of \(R_{0,m}\) and this has slowed the spread of the epidemic in South Africa saving lives. However, in Europe the lockdowns have been able to reduce \(R_{t}\) below 1 for various countries [24]. As shown here, South Africa’s lockdown and other interventions have not been as successful as in most the European countries shown in [24].
Projections on current mobility levels already result in significant peaks in deaths. Further relaxation of lockdowns will result in increases in mobility, which would worsen the reproduction numbers.
Based on the modelling it is expected to result in roughly 7 000 more deaths by the end of the year. This ignores other impacts such as ICU availability and the impact on deaths from other causes which would be expected to increase these figures, but also the impact of the homogeneity assumption which might be exacerbating this number.
Reducing mobility could result in roughly 6 000 fewer deaths by the end of the year.
The IFR is not treated as a parameter but as a constant with random noise. Changes to the IFR will change the modelled infections that correlate with the observed deaths. Sensitivity to the IFR could be modelled.
If the IFR is higher than what is assumed (which would seem likely), we would expect lower attack rates at present and thus the epidemic could result in a higher ultimate death toll as well. A lower than assumed IFR would imply more people have been infected already and we would be further along in the epidemic.
Using mobility data is useful not only to measure the impact of government interventions but also to include the societal response to those interventions (as they affect mobility). This means that changes in the reaction to new regulations can be modelled. It may also be useful going forward as many new regulations are introduced possibly at a provincial level to summarise the impact of interventions numerically. From this research it appears that mobility cannot explain the pattern of spread of the epidemic fully.
This paper projects mobility changes forward. We can see that as the model assigns some value to initiatives introduced at the start of level 4 around mask wearing and workplace screening. These reduce the impact of increasing mobility such that in the Western Cape the \(R_{t,m}\) actually reduced in level 4 compared to level 5.
When health system capacity is under pressure in various provinces it would seem likely that the mortality rate of infected individuals in those provinces would increase. This model needs to take account of that for two reasons:
The model does not currently do this.
Some provinces show a slight over projection of the excess deaths in the last week or two where data is available. It would seem likely that the AR(2) term is not reducing fast enough for the drop in excess deaths.
Previous versions of the model over predicted deaths to a large degree. The introduction of the autoregressive process as per [3] to model further residuals has improved this aspect of the model. This term may be reflecting other NPIs, general population awareness and behaviour adjustment or other unmodelled disease effects. However these should be treated as an error term in that they do not aid the understanding of the disease and show deficiencies in this model.
Along with the above, the author intends to investigate the following:
The model assumes that the current reproduction number, \(R_{t,m}\), is a function of the initial reproduction number, \(R_{0,m}\), and changes in mobility over time. It then calculates infections as a function of \(R_{t,m}\) over time, and then, using these infections calculates deaths from the infections based on a distribution of time to death.
Various prior distributions are assumed. The model structure is similar to that in [1] and is briefly documented below. The parameters are estimated jointly using a single hierarchical model covering all provinces. This means that data in different provinces are combined to inform all parameters in the model. As per [1], fitting was done in R using Stan with an adaptive Hamiltonian Monte Carlo sampler.
The model is documented here but is similar to [1]. The model assumes a base reproduction number (\(R_{0,m}\)) for each province (\(m\)) and then it models future values of the reproduction number using mobility indexes as follows:
\(R_{t,m}=R_{0,m}\cdot2\cdot\phi^{-1}(-(\alpha+\alpha_{m}^s)I_{t,m}^{\alpha}-(\beta+\beta_{m}^s)I_{t,m}^{\beta}-\epsilon_{w_m(t),m})\)
Here:
Infections are modelled as:
\(c_{t,m}=S_{t,m}R_{t,m}\sum_{\tau=0}^{t-1}c_{\tau,m}g_{t-\tau}\) where \(S_{t,m}=1 - \frac{\sum_{i=0}^{t-1}c_{i,m}}{N_{m}}\).
Infections, \(c_{t,m}\) at time \(t\) are a function of proportion of population not yet infected (\(S_{t,m}\)), the reproduction number (\(R_{t,m}\)) and infections prior to that \(c_{\tau,m}\) as well as an infectiousness curve \(g_{t-\tau}\). \(N_m\) is the population in province \(m\).
Deaths, \(d_{t,m}\) are modelled as:
\(d_{t,m}=ifr_{m}^*\sum_{\tau=0}^{t-1}c_{\tau,m}\pi_{t-\tau}\)
Here:
It is assumed that COVID-19 deaths are a proportion of excess deaths (\(\psi_m\)). We calculate weekly excess deaths as:
\(d'_{t',m}=\frac{\sum_{week}{d_{t,m}}}{\psi_m}\)
Here \(t'\) represents time in weeks rather than days.
Weekly excess deaths \(D'_{t',m}\) are assumed to have the following distribution:
\(D'_{t',m} \sim Negative\ Binomial(d'_{t',m},d'_{t',m}+ \frac{{d'}_{t',m}^2}{\phi})\)
If \(Y \sim N(\mu,\sigma)\) then we define \(N^{+}\) to mean the distribution of \(|Y| \sim N^{+}(\mu,\sigma)\).
We assume that:
\(\phi \sim N^{+}(0,5)\)
Then: \(d'_{t,m}=E(D'_{t,m})\)
The following assumptions are taken as is from [1] except where indicated.
We add random noise to the IFR as follows:
\(ifr_{m}^*=ifr_{m}\cdot N(1,0.1)\)
\(\alpha\) and \(\beta\) are distributed as follows:
\(\alpha \sim N(0,0.5)\)
\(\beta \sim N^{+}(0,1)\)
The above distribution for \(\beta\) has been increased to reflect [8] which indicated an effect of mask wearing. In this paper a relative risk of 0.56 is indicated for mask wearing in non-health-care settings. The above prior assumption would indicate a 0.62 expected relative risk. \(\beta\) is not a parameter in the model used in [1].
Then for the provincial specific index effects we use:
\(\alpha_{m}^s \sim N(0,\gamma^{\alpha})\) with \(\gamma^{\alpha} \sim N^{+}(0,0.5)\)
\(\beta_{m}^s \sim N(0,\gamma^{\beta})\) with \(\gamma^{\beta} \sim N^{+}(0,0.5)\)
\(\beta_{m}^s\) is a parameter in the model used in [1].
The \(R_{0,m}\) are defined to be distributed normally as follows:
\(R_{0,m} \sim N(3.28,\kappa)\) with \(\kappa \sim N^{+}(0,0.5)\)
\(\epsilon_{w_m(t),m}\), the weekly province specific effect above is as described in [3]:
Infectiousness follows this distribution:
\(g \sim Gamma(6.5,0.62)\)
Infectiousness / Serial Interval
Time to death follows this distribution:
\(\pi \sim Gamma(5.1,0.86)+Gamma(17.8,0.45)\)
The distribution of time to death is plotted below.
Distribution of Time to Death since Infection
The above implies an average time to death of 23 days.
We assume a beta distribution for \(\psi_m\):
\(\psi_m \sim B(27,3)\)
The above distribution has a mean of 0.9, which is an assumption based on early indications that the majority of excess deaths are due to COVID-19. The distribution above implies that the probability \(\psi_m\) is below 0.8 is roughly 0.05. It is estimated that reported deaths in Western Cape is 70-80% of excess deaths, indicating a possible lower bound on the proportion of excess deaths that are due to COVID-19.
Death and case data were used from [25]. This data set contains provincial case and death data as released by National Institute of Communicable Diseases (NICD). These data are shown for comparison purposes only as the model calibrates against excess deaths.
Excess deaths are taken from [4]. These excess deaths only contain deaths from 6 May 2020 and later (depending on when excess deaths were observed to start in each province). Reported COVID-19 deaths prior to these dates were included and treated as excess deaths.
Any negative excess deaths are set to zero.
Below we plot weekly excess deaths for each province:
Excess Deaths by Province and Week
The IFR (\(ifr_{m}\)) for each province was calculated using the output of the squire R package [26]. It produces age-specific infection attack rates (IAR), infections and deaths. The per age band IFR were used together with the per age band IAR and these were applied to provincial populations [27]. The IFRs from squire package are based on [28], [29] and [26].
The projection was done using the default parameters for South Africa and the resultant attack rate (\(a_{x}\)) and IFR (\(ifr_{x}\)) for each 5-year age band was obtained (\(x\)).
Additionally HIV prevalence by age-band and province, \(i_{x,m}^{HIV}\) was taken into account from [30] as well as results from [31]. In [31] it is shown that lives with HIV have higher COVID-19 mortality once infected. Based on these results we assume three times COVID-19 mortality below 55 and double mortality from age 55 upwards (\(m_x^{HIV}\)).
These \(a_{x}\) and \(ifr_{x}\) and HIV adjustments were then applied to the South African population per province and age band as per [27] and weighted IFRs calculated as follows.
\(ifr_{m}=\frac{\sum_{x}N_{x,m} \cdot a_{x} \cdot ifr_{x}( (1-i_{x,m}^{HIV}) +i_{x,m}^{HIV} \cdot m_x^{HIV})}{\sum_{x}N_{x,m}}\)
Here \(N_{x,m}\) is the population in a particular province (\(m\)) and age band (\(x\)).
Below we tabulate the resultant \(ifr_{m}\):
| Province | IFR |
|---|---|
| EC | 0.64% |
| FS | 0.55% |
| GP | 0.44% |
| KZN | 0.47% |
| LP | 0.5% |
| MP | 0.45% |
| NC | 0.54% |
| NW | 0.49% |
| WC | 0.5% |
| South Africa | 0.49% |
The differences between provinces reflect the different age profiles in those provinces as per [27]. This seems low compared to the IFRs in [23], but may be reasonable given the younger profile of the South African population.
Google has released aggregated mobility data for various countries and for sub-regions in those countries. These data are generated from devices that have enabled the Location History in Google Maps. This feature is available both on Android and iOS devices but is off by default.
For South Africa, these data contain the mobility indexes for each province. These are described in [5] as follows:
These measure changes in mobility relative to a baseline established before the epidemic. For example, -30% implies a 30% reduction in mobility from pre-COVID-19 mobility.
As per [7] these data were combined into an average mobility index for each province which was an average of all mobility indexes excluding:
In [1] three indexes were used (Residential, Transit and the rest). This was reduced for this paper due to limited data.
This paper has set out to show how a Bayesian model can be fitted to the South African data. From the process it becomes clear that there remains significant uncertainty with all matters relating this epidemic. It is therefore likely that the model will not be accurate.
This paper has however attempted to allow for uncertainty using the Bayesian approach here which results in at least some distribution of possible results, some of which are definitely catastrophic and some of which are less severe.
It is hoped that this is a useful contribution to the ongoing research on the epidemic.
[1] M. Vollmer et al., “Report 20: A sub-national analysis of the rate of transmission of COVID-19 in Italy,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-20-italy/
[2] T. Mellan et al., “Report 21: Estimating COVID-19 cases and reproduction number in Brazil,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-21-brazil/
[3] H. Unwin et al., “Report 23: State-level tracking of COVID-19 in the United States,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-23-united-states/
[4] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 20 October 2020 (Week 42),” Burden of Disease Research Unit, South African Medical Research Council, Oct. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-10-29/weekly20October2020.pdf
[5] Google LLC, “Google COVID-19 community mobility reports.” 2020 [Online]. Available: https://www.google.com/covid19/mobility/
[6] R Core Team, R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing, 2019 [Online]. Available: https://www.R-project.org/
[7] P. Nouvellet et al., “Report 26: Reduction in mobility and COVID-19 transmission,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-26-mobility-transmission/
[8] D. K. Chu et al., “Physical distancing, face masks, and eye protection to prevent person-to-person transmission of SARS-CoV-2 and COVID-19: A systematic review and meta-analysis,” The Lancet, vol. 395, no. 10242, pp. 1973–1987, Jun. 2020, doi: 10.1016/S0140-6736(20)31142-9. [Online]. Available: https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(20)31142-9/fulltext
[9] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 7 July 2020 (Week 27),” Burden of Disease Research Unit, South African Medical Research Council, Jul. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-07-19/WeeklyDeaths7July2020.pdf
[10] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 18 August 2020 (Week 33),” Burden of Disease Research Unit, South African Medical Research Council, Aug. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-08-26/weekly18August2020.pdf
[11] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 25 August 2020 (Week 34),” Burden of Disease Research Unit, South African Medical Research Council, Sep. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-09-03/weekly25August2020.pdf
[12] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 1 September 2020 (Week 35),” Burden of Disease Research Unit, South African Medical Research Council, Sep. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-09-09/weekly1September2020.pdf
[13] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 8 September 2020 (Week 36),” Burden of Disease Research Unit, South African Medical Research Council, Sep. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-09-16/weekly8September2020.pdf
[14] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 15 September 2020 (Week 37),” Burden of Disease Research Unit, South African Medical Research Council, Sep. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-09-22/weekly15September2020.pdf
[15] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 22 September 2020 (Week 38),” Burden of Disease Research Unit, South African Medical Research Council, Sep. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-09-30/weekly22September2020.pdf
[16] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 29 September 2020 (Week 39),” Burden of Disease Research Unit, South African Medical Research Council, Oct. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-10-07/weekly29September2020.pdf
[17] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 6 October 2020 (Week 40),” Burden of Disease Research Unit, South African Medical Research Council, Oct. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-10-14/weekly6October2020.pdf
[18] D. Bradshaw, R. Laubscher, R. Dorrington, P. Groenewald, and T. Moultrie, “Report on weekly deaths in South Africa 1 January - 14 October 2020 (Week 41),” Burden of Disease Research Unit, South African Medical Research Council, Oct. 2020 [Online]. Available: https://www.samrc.ac.za/sites/default/files/files/2020-10-21/weekly13October2020.pdf
[19] G. E. P. Box, “Robustness in the strategy of scientific model building,” in Robustness in statistics, Elsevier, 1979, pp. 201–236 [Online]. Available: https://doi.org/10.1016/b978-0-12-438150-6.50018-2
[20] N. N. Taleb, Y. Bar-Yam, and P. Cirillo, “On Single Point Forecasts for Fat-Tailed Variables,” 31-Jul-2020. [Online]. Available: http://arxiv.org/abs/2007.16096. [Accessed: 26-Oct-2020]
[21] P. Cirillo and N. N. Taleb, “Tail risk of contagious diseases,” Nature Physics, vol. 16, no. 6, pp. 606–613, May 2020, doi: 10.1038/s41567-020-0921-x. [Online]. Available: https://www.nature.com/articles/s41567-020-0921-x
[22] Independent Communications Authority of South Africa, “The state of the ICT sector report in South Africa,” 2020 [Online]. Available: https://www.icasa.org.za/legislation-and-regulations/state-of-the-ict-sector-in-south-africa-2020-report
[23] G. Meyerowitz-Katz and L. Merone, “A systematic review and meta-analysis of published research data on COVID-19 infection-fatality rates” [Online]. Available: https://www.medrxiv.org/content/10.1101/2020.05.03.20089854v3
[24] S. Flaxman et al., “Report 13: Estimating the number of infections and the impact of non-pharmaceutical interventions on COVID-19 in 11 European countries,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-13-europe-npi-impact/
[25] V. Marivate et al., “Coronavirus disease (COVID-19) case data - South Africa.” Zenodo, 21-Mar-2020 [Online]. Available: https://zenodo.org/record/3888499. [Accessed: 26-Oct-2020]
[26] P. Walker et al., “Report 12: The global impact of COVID-19 and strategies for mitigation and suppression,” Imperial College London, 2020 [Online]. Available: https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-12-global-impact-covid-19/
[27] Statistics South Africa, “Mid-year population estimates 2019,” Republic of South Africa, 2019 [Online]. Available: https://www.statssa.gov.za/publications/P0302/P03022019.pdf
[28] R. Verity et al., “Estimates of the severity of coronavirus disease 2019: A model-based analysis,” The Lancet Infectious Diseases, vol. 20, no. 6, pp. 669–677, Jun. 2020, doi: 10.1016/s1473-3099(20)30243-7. [Online]. Available: https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext
[29] N. Ferguson et al., “Report 9: Impact of non-pharmaceutical interventions (NPIs) to reduce COVID19 mortality and healthcare demand,” Imperial College London, Mar. 2020 [Online]. Available: http://spiral.imperial.ac.uk/handle/10044/1/77482. [Accessed: 29-Oct-2020]
[30] L. Johnson, R. Dorrington, and H. Moolla, “Progress towards the 2020 targets for HIV diagnosis and antiretroviral treatment in South Africa,” Southern African Journal of HIV Medicine, vol. 18, no. 1, p. 8, 2017, doi: 10.4102/sajhivmed.v18i1.694. [Online]. Available: https://sajhivmed.org.za/index.php/hivmed/article/view/694
[31] M.-A. Davies, “Brief update on surveilance of COVID-19 infections in the Western Cape.” [Online]. Available: http://www.medicine.uct.ac.za/covid19-echo-clinic